From f94e21be431127aa540accc55ced8a02967ca604 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Mar 2004 23:34:08 +0000 Subject: [PATCH] Make it work correctly when the child model is cleared completely. Mon Mar 1 23:59:18 2004 Matthias Clasen * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): Make it work correctly when the child model is cleared completely. (#121633) --- ChangeLog | 6 ++++++ ChangeLog.pre-2-10 | 6 ++++++ ChangeLog.pre-2-4 | 6 ++++++ ChangeLog.pre-2-6 | 6 ++++++ ChangeLog.pre-2-8 | 6 ++++++ gtk/gtktreemodelsort.c | 4 +++- 6 files changed, 33 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 7b55c920b0..0eab7c039f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Mar 1 23:59:18 2004 Matthias Clasen + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): + Make it work correctly when the child model is cleared + completely. (#121633) + 2004-03-01 Michael Natterer * gtk/gtkfilechooserwidget.h: removed accidentially committed char diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 7b55c920b0..0eab7c039f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +Mon Mar 1 23:59:18 2004 Matthias Clasen + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): + Make it work correctly when the child model is cleared + completely. (#121633) + 2004-03-01 Michael Natterer * gtk/gtkfilechooserwidget.h: removed accidentially committed char diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 7b55c920b0..0eab7c039f 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,9 @@ +Mon Mar 1 23:59:18 2004 Matthias Clasen + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): + Make it work correctly when the child model is cleared + completely. (#121633) + 2004-03-01 Michael Natterer * gtk/gtkfilechooserwidget.h: removed accidentially committed char diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 7b55c920b0..0eab7c039f 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +Mon Mar 1 23:59:18 2004 Matthias Clasen + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): + Make it work correctly when the child model is cleared + completely. (#121633) + 2004-03-01 Michael Natterer * gtk/gtkfilechooserwidget.h: removed accidentially committed char diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 7b55c920b0..0eab7c039f 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +Mon Mar 1 23:59:18 2004 Matthias Clasen + + * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): + Make it work correctly when the child model is cleared + completely. (#121633) + 2004-03-01 Michael Natterer * gtk/gtkfilechooserwidget.h: removed accidentially committed char diff --git a/gtk/gtktreemodelsort.c b/gtk/gtktreemodelsort.c index 249de11b8c..3b0ccc5b05 100644 --- a/gtk/gtktreemodelsort.c +++ b/gtk/gtktreemodelsort.c @@ -805,12 +805,14 @@ gtk_tree_model_sort_row_deleted (GtkTreeModel *s_model, while (elt->ref_count > 0) gtk_tree_model_sort_real_unref_node (GTK_TREE_MODEL (data), &iter, FALSE); - if (level->ref_count == 0 && level != tree_model_sort->root) + if (level->ref_count == 0) { /* This will prune the level, so I can just emit the signal and not worry * about cleaning this level up. */ gtk_tree_model_sort_increment_stamp (tree_model_sort); gtk_tree_path_free (path); + if (level == tree_model_sort->root) + tree_model_sort->root = NULL; return; } -- 2.30.2